#!/bin/sh
. "${srcdir=.}/init.sh"; path_prepend_ . ../src

# Test of Glade 2 support.

cat <<EOF > xg-gl-3-empty.glade
<?xml version="1.0"?>
<GTK-Interface/>
EOF

: ${XGETTEXT=xgettext}
${XGETTEXT} -o xg-gl-3.pot xg-gl-3-empty.glade 2>/dev/null
test $? = 0 || {
  echo "Skipping test: xgettext was built without Glade support"
  exit 77
}

cat <<EOF > xg-gl-3-asciitable.glade2
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd" >

<glade-interface>
  <widget class="GtkDialog" id="dialog">
    <property name="visible">no</property>
    <property name="title" translatable="yes">gedit: ASCII table</property>
    <property name="type">GTK_WINDOW_TOPLEVEL</property>
    <property name="modal">no</property>
    <property name="allow_shrink">yes</property>
    <property name="allow_grow">yes</property>
    <property name="window-position">GTK_WIN_POS_NONE</property>

    <child internal-child="vbox">
      <widget class="GtkVBox" id="dialog-vbox1">
        <property name="homogeneous">no</property>
        <property name="spacing">8</property>
        <property name="visible">yes</property>

        <child internal-child="action_area">
          <widget class="GtkHButtonBox" id="dialog-action_area1">
            <property name="layout_style">GTK_BUTTONBOX_END</property>
            <property name="spacing">8</property>
            <property name="visible">yes</property>

            <child>
              <widget class="GtkButton" id="insert_char_button">
                <property name="can_default">yes</property>
                <property name="can_focus">yes</property>
                <property name="label" translatable="yes">Insert char</property>
                <property name="visible">yes</property>
              </widget>
            </child>

            <child>
              <widget class="GtkButton" id="close_button">
                <property name="can_default">yes</property>
                <property name="can_focus">yes</property>
                <property name="visible">yes</property>
                <property name="label">gtk-close</property>
                <property name="use_stock">yes</property>
                <property name="use_underline">yes</property>
              </widget>
            </child>

            <child>
              <widget class="GtkButton" id="help_button">
                <property name="can_default">yes</property>
                <property name="can_focus">yes</property>
                <property name="visible">yes</property>
                <property name="label">gtk-help</property>
                <property name="use_stock">yes</property>
                <property name="use_underline">yes</property>
              </widget>
            </child>
          </widget>
          <packing>
            <property name="padding">0</property>
            <property name="expand">no</property>
            <property name="fill">yes</property>
            <property name="pack_type">GTK_PACK_END</property>
          </packing>
        </child>

        <child>
          <widget class="GtkVBox" id="asciitable_dialog_content">
            <property name="border_width">6</property>
            <property name="homogeneous">no</property>
            <property name="spacing">8</property>
            <property name="visible">yes</property>

            <child>
              <widget class="GtkLabel" id="label1">
                <property name="label" translatable="yes">If you wish to insert any of the characters in to the active 
document, select the character and click the &quot;Insert Char&quot; 
button or double click the character in the table.</property>
                <property name="justify">GTK_JUSTIFY_LEFT</property>
                <property name="wrap">no</property>
                <property name="xalign">0.0</property>
                <property name="yalign">0.5</property>
                <property name="xpad">0</property>
                <property name="ypad">0</property>
                <property name="visible">yes</property>
              </widget>
              <packing>
                <property name="padding">0</property>
                <property name="expand">no</property>
                <property name="fill">no</property>
              </packing>
            </child>

            <child>
              <widget class="GtkScrolledWindow" id="scrolledwindow1">
                <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
                <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
                <property name="shadow_type">GTK_SHADOW_IN</property>
                <property name="height-request">350</property>
                <property name="visible">yes</property>

                <child>
                  <widget class="GtkTreeView" id="ascii_table">
                    <property name="can_focus">yes</property>
                    <property name="headers-visible">yes</property>
                    <property name="visible">yes</property>
                  </widget>
                </child>

                <child internal-child="hscrollbar">
                  <widget class="GtkHScrollbar" id="convertwidget1">
                    <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                    <property name="visible">yes</property>
                  </widget>
                </child>

                <child internal-child="vscrollbar">
                  <widget class="GtkVScrollbar" id="convertwidget2">
                    <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
                    <property name="visible">yes</property>
                  </widget>
                </child>
              </widget>
              <packing>
                <property name="padding">0</property>
                <property name="expand">yes</property>
                <property name="fill">yes</property>
              </packing>
            </child>
          </widget>
          <packing>
            <property name="padding">0</property>
            <property name="expand">yes</property>
            <property name="fill">yes</property>
          </packing>
        </child>
      </widget>
      <packing>
        <property name="padding">4</property>
        <property name="expand">yes</property>
        <property name="fill">yes</property>
      </packing>
    </child>
  </widget>
</glade-interface>
EOF

: ${XGETTEXT=xgettext}
${XGETTEXT} -o xg-gl-3.tmp xg-gl-3-asciitable.glade2  || exit 1
# Don't simplify this to "grep ... < xg-gl-3.tmp", otherwise OpenBSD 4.0 grep
# only outputs "Binary file (standard input) matches".
cat xg-gl-3.tmp | grep -v 'POT-Creation-Date' > xg-gl-3.pot

cat <<\EOF > xg-gl-3.ok
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: xg-gl-3-asciitable.glade2:7
msgid "gedit: ASCII table"
msgstr ""

#: xg-gl-3-asciitable.glade2:30
msgid "Insert char"
msgstr ""

#: xg-gl-3-asciitable.glade2:74
msgid ""
"If you wish to insert any of the characters in to the active \n"
"document, select the character and click the \"Insert Char\" \n"
"button or double click the character in the table."
msgstr ""
EOF

: ${DIFF=diff}
${DIFF} xg-gl-3.ok xg-gl-3.pot
result=$?

exit $result
